# author：LiuShihao
# data: 2020/11/23 7:43 下午
# desc:  类型装换
name = "张三"
age = 18
print(type(name),type(age))  # <class 'str'> <class 'int'>
# print("我叫"+name+"，今年"+age+"岁")   使用str()  函数将int类型装换成str类型
print("我叫"+name+"，今年"+str(age)+"岁")
# ----------------将其他类型转成str类型
a = 1  # int  类型
b = 1.1# float 类型
c = False # bool类型
print(type(a),type(b),type(c)) # <class 'int'> <class 'float'> <class 'bool'>
print(type(str(a)),type(str(b)),type(str(c)))  # <class 'str'> <class 'str'> <class 'str'>
# ----------------将其他类型转成int类型
s1 ='123'   # 字符串  整数
f1 = 98.7   #  浮点数
s2 = '77.67' # 字符串  小数串
ff = True    # 布尔类型
s3 = "hello" # 字符串
print(type(s1),type(f1),type(s1),type(ff),type(s3))
print(int(s1),type(int(s1)))   # 将str转成int类型  str为整数
print(int(f1),type(int(f1)))   # 将浮点数转成int类型 但是会截取整数部分
# print(int(s2),type(int(s2)))   # 不可以将 小数字符串装换成int类型  报错
print(int(ff),type(int(ff)))     # 将布尔类型转换成 int类型
# print(int(s3),type(int(s3)))     # 不能将非数字字符串转成int类型   报错  即：将str转成int类型时，只能转换整数形式的字符串
# ----------------将其他类型转成float类型
s1 ='128.98'   # 字符串  整数
f1 = '76'   #  字符串   浮点数
ff = True    # 布尔类型
s3 = "hello" # 字符串
i = 98
print(type(s1),type(f1),type(ff),type(s3),type(i))
print(float(s1),type(s1))     # 小数类型的字符串可以转成float类型
print(float(f1),type(f1))     # 整数类型的字符串也可以转成float  会加上.0
print(float(ff),type(ff))     # buer类型也会转成float  加上.0
# print(float(s3),type(s3))   # 不能将非数字字符串装换成float类型
print(float(i),type(i))       # 整数int类型转换成float类型会加上.0